package com.iims.finance.service;

import com.iims.finance.domain.CmisCwInvoice;
import com.iims.finance.vo.resp.CmisCwInvoiceDetailVo;

import java.util.List;

/**
 * @author fanpei
 * @date 2021/7/9 22:30
 */
public interface ICmisCwInvoiceService {
    /**
     * 查询开票列表
     *
     * @param invoice
     * @return
     */
    List<CmisCwInvoiceDetailVo> getCwInvoiceList(CmisCwInvoice invoice);

    /**
     * 查询合同开票列表
     *
     * @param contractId
     * @return
     */
    List<CmisCwInvoiceDetailVo> getContractCwInvoiceList(Long contractId);

    /**
     * 查询指定开票详情
     *
     * @return
     */
    CmisCwInvoiceDetailVo getCwInvoiceDetailById(Long proId);

    /**
     * 新增
     *
     * @param invoice
     */
    void insertCwInvoice(CmisCwInvoice invoice);

    /**
     * 更新
     *
     * @param invoice
     */
    void updateCwInvoice(CmisCwInvoice invoice);

    /**
     * 删除
     *
     * @param invoiceId
     */
    void deleteById(Long invoiceId);


    /**
     * 检查开票使用情况
     *
     * @param invoiceId
     * @return
     */
    void checkCmisCwInvoiceUse(Long invoiceId);
}
